From 21887335cdd69cf4adef0f3702b6b22dabb19038 Mon Sep 17 00:00:00 2001 From: Isaku Yamahata Date: Wed, 7 Jan 2009 14:28:33 +0900 Subject: [PATCH] [IA64] stub for XENMEM_[gs]et_pod_target. This patch adds the stub for XENMEM_[gs]et_pod_target. Without this patch, domain builder aborts on the error. Signed-off-by: Isaku Yamahata --- xen/arch/ia64/xen/mm.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/xen/arch/ia64/xen/mm.c b/xen/arch/ia64/xen/mm.c index 4772749d1b..66336182fe 100644 --- a/xen/arch/ia64/xen/mm.c +++ b/xen/arch/ia64/xen/mm.c @@ -3437,6 +3437,45 @@ arch_memory_op(int op, XEN_GUEST_HANDLE(void) arg) return 0; } + case XENMEM_get_pod_target: + case XENMEM_set_pod_target: { + /* XXX: PoD populate on demand isn't supported yet. */ + xen_pod_target_t target; + struct domain *d; + + /* Support DOMID_SELF? */ + if ( !IS_PRIV(current->domain) ) + return -EINVAL; + + if ( copy_from_guest(&target, arg, 1) ) + return -EFAULT; + + rc = rcu_lock_target_domain_by_id(target.domid, &d); + if ( rc != 0 ) + return rc; + + if ( op == XENMEM_set_pod_target ) + { + /* if -ENOSYS is returned, + domain builder aborts domain creation. */ + /* rc = -ENOSYS; */ + } + + target.tot_pages = d->tot_pages; + target.pod_cache_pages = 0; + target.pod_entries = 0; + + if ( copy_to_guest(arg, &target, 1) ) + { + rc= -EFAULT; + goto pod_target_out_unlock; + } + + pod_target_out_unlock: + rcu_unlock_domain(d); + return rc; + } + default: return -ENOSYS; } -- 2.30.2